<?php
/**
 * Core_Table_Resource_Abstract
 * 
 * @author naspeh
 * @version $Id: Abstract.php 661 2008-06-16 10:38:02Z naspeh $
 */
abstract class Core_Table_Resource_Abstract extends Core_Table
{
    /**
     * Связное поле
     *
     * @var string
     */       
    protected $_fieldTie = null;
    /**
     * Вставляет запись
     *
     * @param array $data
     * @return mixed
     */
    public function insert(array $data)
    {
        $id = parent::insert($data);
        $tableResources = new Core_Table_Resources();
        $resource = $tableResources->fetchNew();
        $resource->{$this->getFieldTie()} = $id;
        $resource->save();
        return $id;
    }
    /**
     * Возвращает связное поле
     *
     * @return string
     */
    public function getFieldTie()
    {
        if (is_null($this->_fieldTie)) {
        	throw new Core_Exception('fieldTieIsNull');
        }
        return $this->_fieldTie;
    }
}